package cn.u313.lymusic.activity

import android.graphics.Color
import android.os.Build
import android.os.Bundle
import android.view.WindowManager
import androidx.activity.compose.setContent
import androidx.appcompat.app.AppCompatActivity
import androidx.compose.runtime.Composable
import cn.u313.lymusic.R
import cn.u313.lymusic.utils.StatusBarUtil

abstract class BaseActivity : AppCompatActivity() {
    @Composable
    abstract fun InitView()
    abstract fun initData()
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)

        setContent {
            InitView()
        }
        initData()
    }
    fun setSystemBarTransparent() {
        setStatusBar()
    }
    private fun setStatusBar() {
        if (isUseFullScreenMode()) {
            StatusBarUtil.transparencyBar(this)
        } else {
            StatusBarUtil.setStatusBarColor(this, getStatusBarColor())
        }

        if (isUseBlackFontWithStatusBar()) {
            StatusBarUtil.setLightStatusBar(this, true, isUseFullScreenMode())
        }
    }

    /**
     * 是否设置成透明状态栏，即就是全屏模式
     */
    private fun isUseFullScreenMode(): Boolean {
        return true
    }

    /**
     * 更改状态栏颜色，只有非全屏模式下有效
     */
    private fun getStatusBarColor(): Int {
        return R.color.white
    }

    /**
     * 是否改变状态栏文字颜色为黑色，默认为黑色
     */
    private fun isUseBlackFontWithStatusBar(): Boolean {
        return true
    }
}